define(['jquery'], ($) => {
    class Float {
        constructor () {
            this.loadHTML().then(() => {
                this.calcCartTotal()
            })
        }
        loadHTML () {
            // 在这里把方法封装成一个promise，这样就可以在构造函数里处理加载成功之后的逻辑，来调用其他方法
            return new Promise(resolve => {
                // $('header').load('/html/modules/header.html', () => {
                //     resolve()
                // })
                $('#float-box').load('/html/modules/float-box.html', resolve)
            })
        }
        calcCartTotal () {
            // 计算购物车总数量
            let count = 0
            let cart = localStorage.getItem('cart')
            if (cart) {
                cart = JSON.parse(cart)
                count = cart.reduce((total, shop) => total + shop.count, 0)
            }
            $('#cart').html(count)
        }
    }
    return new Float()
})